package lu.med.praxiswahl.wahlumed.service.beans.serviceinterface;

import java.util.Calendar;

import lu.med.praxiswahl.wahlumed.model.beans.AccountingTBL;
import lu.med.praxiswahl.wahlumed.model.beans.CustomerTBL;
import lu.med.praxiswahl.wahlumed.model.beans.GravTestTBL;

/**
 * 
 * @author Patrick kendzo Email: pkendzo@msn.com
 */
public interface GravTestServiceInt {

	public static final int RET_OPERATION_DONE_PROPERLY = 0;
	public static final int RET_PATIENT_NOT_FOUND = 1;
	public static final int RET_OPERATION_FAILED = 2;

	public int createLaborEintrag(String matricule, String datum,
			int labNumber, String year);

	public void getA_GravInstance(GravTestTBL grav);

	public String getDatum();

	public void setDatum(String datum);

	public String getTest();

	public void setTest(String test);

	public int getNummer();

	public void setNummer(int nummer);

	public GravTestTBL[] retrieveLabItemsOfINTERVAL(String fromDatum,
			String toDatum);

	public int getActualLabNumberIndex(String year);

	/*
	 * wird beim Hochlader des Client abgefragt
	 */
	public GravTestTBL[] retrieveItems_IF_TEST_Empty();

	public GravTestTBL[] getGravTestByCustomer(String matricule);

	public CustomerTBL getCustomer();

	public void setCustomer(CustomerTBL customer);

	public String getYear();

	public void setYear(String year);

	public int remove_GravTestItem(Long gravtestID);

	public void sortByNumber(String year);

	public GravTestTBL[] retrieveLast_50_Item(String year);

	void setLastEditor(AccountingTBL account);

	void setLocked(boolean lock);

	void setLastEditTime(Calendar time);
}
